Skip to main content

02 IIC实验

OLED小屏幕实验

up的视频讲解: https://space.bilibili.com/1455872040

up视频里的实验代码: 👣OLED实验代码

OLED驱动文件: OLED驱动代码

取模软件: OLED取模工具

1 📱 OLED实验​

1.1 实验连接​

图片

1.2 实验原理​

图片
  • 0.96寸(128x64像素)OLED驱动
  • x: 列地址 0~127
  • y: 行地址 0~63

1.3 CubeMX配置​

课程下载的OLED驱动使用hi2c1,I2C1选择I2C模式,先使用默认的标准模式100 kHz

图片

1.4 实验代码​

全局​

#include "oled.h"

const unsigned char data[] = {
0x00,0x80,0x60,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x01,0x00,0x00,0xFF,0x00,0x10,0x0C,0x03,0x40,0x80,0x7F,0x00,0x01,0x06,0x18,0x00,/*"你",0*/
0x10,0x10,0xF0,0x1F,0x10,0xF0,0x00,0x80,0x82,0x82,0xE2,0x92,0x8A,0x86,0x80,0x00,0x40,0x22,0x15,0x08,0x16,0x61,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,/*"好",1*/
};

main()​

	OLED_Init();
OLED_ShowString(0,40,"Hello World",16);
OLED_DrawLine(0,32,127,32);
OLED_DrawSineWave_Point(16,32,0);
OLED_ShowCHinese(80,16,0,data);
OLED_ShowCHinese(96,16,1,data);
OLED_Refresh();

while(1)里面​

✅OLED亮起来以后​

依次测试全黑、全亮、四角像素、横线和文字,确认方向、坐标和显存刷新。128×64单色画面需要1024字节显存;常见页组织是每字节覆盖竖直8个像素,但应以本驱动为准。

黑屏先确认地址ACK,再检查初始化、显示使能和OLED_Refresh。文字异常而线条正常时,优先检查字模大小、取模方向和编码,不要马上改IIC时序。刷新耗时与总线速度、逐字节调用开销有关,动态界面应减少不必要的整屏刷新。